package com.xsz.repository;

import java.util.List;

import javax.transaction.Transactional;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import com.xsz.entity.User;

//JpaRepository<User,String>  第一个参数是实体类，第二个参数是实体类的主键数据类型
public interface UserRepository extends JpaRepository<User,String> {
	
	public User findByNameAndPwd(String name,String pwd);
	public List<User> findByNameLike(String name);
	/**
     *复杂JPA操作  使用@Query()自定义sql语句  根据业务id UId去更新整个实体
     * 删除和更新操作，需要@Modifying和@Transactional注解的支持
     *
     * 更新操作中 如果某个字段为null则不更新，否则更新【注意符号和空格位置】
     * @param member 对象
     * @return int 被修改数据 条数
     */
	@Transactional
    @Modifying
    @Query("update User u set u.mobile = ?1 where u.id = ?2")
    public int updateMobileById(String mobile, String id);
}
